#define _CRT_SECURE_NO_WARNINGS

//#include <stdio.h>
//#include <stdlib.h>


//int compare(const void* a, const void* b)
//{
//    int* x = (int*)a;
//    int* y = (int*)b;
//    if (*x > *y)
//    {
//        return 1;
//    }
//    else if (*y > *x)
//    {
//        return -1;
//    }
//    else
//    {
//        return 0;
//    }
//}
//
//void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
//{
//    int i = 0;
//    i = m;
//    int j = 0;
//    for (; j < n; i++, j++)
//    {
//        nums1[i] = nums2[j];
//    }
//    qsort(nums1, m + n, sizeof(int), compare);
//}

//#include <stdio.h>
//#include <stdlib.h>
//
//void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
//{
//    int p1 = 0, p2 = 0, p3 = 0;
//    p1 = m - 1;
//    p2 = n - 1;
//    p3 = m + n - 1;
//    for (; p1 >= 0 && p2 >= 0;)
//    {
//        if (nums1[p1] > nums2[p2])
//        {
//            nums1[p3] = nums1[p1];
//            p1--;
//            p3--;
//        }
//        else
//        {
//            nums1[p3] = nums2[p2];
//            p2--;
//            p3--;
//        }
//    }
//    for (; p2 >= 0;)
//    {
//        nums1[p3] = nums2[p2];
//        p2--;
//        p3--;
//    }
//}

#include "SList.h";

int main()
{
	SListNode* slist = NULL;
	int i = 0;
	for (; i < 10; i++)
	{
		slist = SListPushHead(slist, i);
	}
	slist = SListPushBack(slist, 666);
	slist = SListPushBack(slist, 666);
	slist = SListPushBack(slist, 666);
	slist = SListDeleteBack(slist);
	slist = SListDeleteHead(slist);
	slist = SListInsert(slist, 99, 4);
	slist = SListInsert(slist, 99, 0);
	slist = SListInsert(slist, 99, 100);
	slist = SListInsert(slist, 99, -1);
	slist = SListInsert(slist, 99, 13);
	slist = SListDelete(slist, 0);
	slist = SListDelete(slist, 1);
	slist = SListDelete(slist, 5);
	slist = SListDelete(slist, 11);
	SListPrint(slist);
	SListPrint(NULL);
	//slist = SListRemove(slist);
	int result = 0;
	result = SListSearch(slist, 5);
	result = SListSearch(slist, 9);
	result = SListSearch(slist, 666);
	result = SListSearch(slist, -100);

	//slist = SListPushHead(slist, 1);
	////slist = SListDeleteBack(slist);
	//int result = 10;
	//result = SListSearch(slist, 1);
	//result = SListSearch(slist, 0);

	return 0;
}
